libxenctrl: Fix xc_interface_close() crash if it gets NULL as an argument
authorDaniel Kiper <daniel.kiper@oracle.com>
Mon, 2 Dec 2013 19:13:03 +0000 (20:13 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Wed, 4 Dec 2013 14:33:00 +0000 (14:33 +0000)
xc_interface_close() crashes if it gets NULL as an argument. However,
it just calls xc_interface_close_common() which is called by many
others functions. It means that they are also vulnerable. So fix above
mentioned issue by adding NULL check in xc_interface_close_common().
This way we fix similar issue in other functions which calls
xc_interface_close_common() too.

Signed-off-by: Daniel Kiper <daniel.kiper@oracle.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
tools/libxc/xc_private.c

index 524862e9e6b07391e93454228b50a0b9473da794..838fd21f2355adb44a4e2a36f782ae77cf5d7f8a 100644 (file)
@@ -198,6 +198,9 @@ static int xc_interface_close_common(xc_interface *xch)
 {
     int rc = 0;
 
+    if (!xch)
+       return 0;
+
     xc__hypercall_buffer_cache_release(xch);
 
     xtl_logger_destroy(xch->dombuild_logger_tofree);